package hu.bme.mit.androtext.androdata.ui.contentassist.antlr.internal; 

import java.io.InputStream;
import org.eclipse.xtext.*;
import org.eclipse.xtext.parser.*;
import org.eclipse.xtext.parser.impl.*;
import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.xtext.parser.antlr.XtextTokenStream;
import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser;
import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.DFA;
import hu.bme.mit.androtext.androdata.services.AndroDataDslGrammarAccess;



import org.antlr.runtime.*;
import java.util.Stack;
import java.util.List;
import java.util.ArrayList;

@SuppressWarnings("all")
public class InternalAndroDataDslParser extends AbstractInternalContentAssistParser {
    public static final String[] tokenNames = new String[] {
        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_ID", "RULE_INT", "RULE_STRING", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'String'", "'float'", "'boolean'", "'int'", "'package'", "'entity'", "'{'", "'}'", "'extends'", "':'", "'import'", "'.'", "'.*'"
    };
    public static final int RULE_ID=4;
    public static final int T__23=23;
    public static final int T__22=22;
    public static final int RULE_ANY_OTHER=10;
    public static final int T__21=21;
    public static final int T__20=20;
    public static final int RULE_SL_COMMENT=8;
    public static final int EOF=-1;
    public static final int RULE_ML_COMMENT=7;
    public static final int T__19=19;
    public static final int RULE_STRING=6;
    public static final int T__16=16;
    public static final int T__15=15;
    public static final int T__18=18;
    public static final int T__17=17;
    public static final int T__12=12;
    public static final int T__11=11;
    public static final int T__14=14;
    public static final int T__13=13;
    public static final int RULE_INT=5;
    public static final int RULE_WS=9;

    // delegates
    // delegators


        public InternalAndroDataDslParser(TokenStream input) {
            this(input, new RecognizerSharedState());
        }
        public InternalAndroDataDslParser(TokenStream input, RecognizerSharedState state) {
            super(input, state);
             
        }
        

    public String[] getTokenNames() { return InternalAndroDataDslParser.tokenNames; }
    public String getGrammarFileName() { return "../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g"; }


     
     	private AndroDataDslGrammarAccess grammarAccess;
     	
        public void setGrammarAccess(AndroDataDslGrammarAccess grammarAccess) {
        	this.grammarAccess = grammarAccess;
        }
        
        @Override
        protected Grammar getGrammar() {
        	return grammarAccess.getGrammar();
        }
        
        @Override
        protected String getValueForTokenName(String tokenName) {
        	return tokenName;
        }




    // $ANTLR start "entryRuleAndroDataModelRoot"
    // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:60:1: entryRuleAndroDataModelRoot : ruleAndroDataModelRoot EOF ;
    public final void entryRuleAndroDataModelRoot() throws RecognitionException {
        try {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:61:1: ( ruleAndroDataModelRoot EOF )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:62:1: ruleAndroDataModelRoot EOF
            {
             before(grammarAccess.getAndroDataModelRootRule()); 
            pushFollow(FOLLOW_ruleAndroDataModelRoot_in_entryRuleAndroDataModelRoot61);
            ruleAndroDataModelRoot();

            state._fsp--;

             after(grammarAccess.getAndroDataModelRootRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleAndroDataModelRoot68); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleAndroDataModelRoot"


    // $ANTLR start "ruleAndroDataModelRoot"
    // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:69:1: ruleAndroDataModelRoot : ( ( rule__AndroDataModelRoot__Group__0 ) ) ;
    public final void ruleAndroDataModelRoot() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:73:2: ( ( ( rule__AndroDataModelRoot__Group__0 ) ) )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:74:1: ( ( rule__AndroDataModelRoot__Group__0 ) )
            {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:74:1: ( ( rule__AndroDataModelRoot__Group__0 ) )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:75:1: ( rule__AndroDataModelRoot__Group__0 )
            {
             before(grammarAccess.getAndroDataModelRootAccess().getGroup()); 
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:76:1: ( rule__AndroDataModelRoot__Group__0 )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:76:2: rule__AndroDataModelRoot__Group__0
            {
            pushFollow(FOLLOW_rule__AndroDataModelRoot__Group__0_in_ruleAndroDataModelRoot94);
            rule__AndroDataModelRoot__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getAndroDataModelRootAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleAndroDataModelRoot"


    // $ANTLR start "entryRuleEntity"
    // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:88:1: entryRuleEntity : ruleEntity EOF ;
    public final void entryRuleEntity() throws RecognitionException {
        try {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:89:1: ( ruleEntity EOF )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:90:1: ruleEntity EOF
            {
             before(grammarAccess.getEntityRule()); 
            pushFollow(FOLLOW_ruleEntity_in_entryRuleEntity121);
            ruleEntity();

            state._fsp--;

             after(grammarAccess.getEntityRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleEntity128); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleEntity"


    // $ANTLR start "ruleEntity"
    // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:97:1: ruleEntity : ( ( rule__Entity__Group__0 ) ) ;
    public final void ruleEntity() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:101:2: ( ( ( rule__Entity__Group__0 ) ) )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:102:1: ( ( rule__Entity__Group__0 ) )
            {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:102:1: ( ( rule__Entity__Group__0 ) )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:103:1: ( rule__Entity__Group__0 )
            {
             before(grammarAccess.getEntityAccess().getGroup()); 
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:104:1: ( rule__Entity__Group__0 )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:104:2: rule__Entity__Group__0
            {
            pushFollow(FOLLOW_rule__Entity__Group__0_in_ruleEntity154);
            rule__Entity__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getEntityAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleEntity"


    // $ANTLR start "entryRuleFeature"
    // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:116:1: entryRuleFeature : ruleFeature EOF ;
    public final void entryRuleFeature() throws RecognitionException {
        try {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:117:1: ( ruleFeature EOF )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:118:1: ruleFeature EOF
            {
             before(grammarAccess.getFeatureRule()); 
            pushFollow(FOLLOW_ruleFeature_in_entryRuleFeature181);
            ruleFeature();

            state._fsp--;

             after(grammarAccess.getFeatureRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleFeature188); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleFeature"


    // $ANTLR start "ruleFeature"
    // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:125:1: ruleFeature : ( ( rule__Feature__Group__0 ) ) ;
    public final void ruleFeature() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:129:2: ( ( ( rule__Feature__Group__0 ) ) )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:130:1: ( ( rule__Feature__Group__0 ) )
            {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:130:1: ( ( rule__Feature__Group__0 ) )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:131:1: ( rule__Feature__Group__0 )
            {
             before(grammarAccess.getFeatureAccess().getGroup()); 
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:132:1: ( rule__Feature__Group__0 )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:132:2: rule__Feature__Group__0
            {
            pushFollow(FOLLOW_rule__Feature__Group__0_in_ruleFeature214);
            rule__Feature__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getFeatureAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleFeature"


    // $ANTLR start "entryRuleImport"
    // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:144:1: entryRuleImport : ruleImport EOF ;
    public final void entryRuleImport() throws RecognitionException {
        try {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:145:1: ( ruleImport EOF )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:146:1: ruleImport EOF
            {
             before(grammarAccess.getImportRule()); 
            pushFollow(FOLLOW_ruleImport_in_entryRuleImport241);
            ruleImport();

            state._fsp--;

             after(grammarAccess.getImportRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleImport248); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleImport"


    // $ANTLR start "ruleImport"
    // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:153:1: ruleImport : ( ( rule__Import__Group__0 ) ) ;
    public final void ruleImport() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:157:2: ( ( ( rule__Import__Group__0 ) ) )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:158:1: ( ( rule__Import__Group__0 ) )
            {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:158:1: ( ( rule__Import__Group__0 ) )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:159:1: ( rule__Import__Group__0 )
            {
             before(grammarAccess.getImportAccess().getGroup()); 
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:160:1: ( rule__Import__Group__0 )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:160:2: rule__Import__Group__0
            {
            pushFollow(FOLLOW_rule__Import__Group__0_in_ruleImport274);
            rule__Import__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getImportAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleImport"


    // $ANTLR start "entryRuleQualifiedName"
    // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:172:1: entryRuleQualifiedName : ruleQualifiedName EOF ;
    public final void entryRuleQualifiedName() throws RecognitionException {
        try {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:173:1: ( ruleQualifiedName EOF )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:174:1: ruleQualifiedName EOF
            {
             before(grammarAccess.getQualifiedNameRule()); 
            pushFollow(FOLLOW_ruleQualifiedName_in_entryRuleQualifiedName301);
            ruleQualifiedName();

            state._fsp--;

             after(grammarAccess.getQualifiedNameRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleQualifiedName308); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleQualifiedName"


    // $ANTLR start "ruleQualifiedName"
    // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:181:1: ruleQualifiedName : ( ( rule__QualifiedName__Group__0 ) ) ;
    public final void ruleQualifiedName() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:185:2: ( ( ( rule__QualifiedName__Group__0 ) ) )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:186:1: ( ( rule__QualifiedName__Group__0 ) )
            {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:186:1: ( ( rule__QualifiedName__Group__0 ) )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:187:1: ( rule__QualifiedName__Group__0 )
            {
             before(grammarAccess.getQualifiedNameAccess().getGroup()); 
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:188:1: ( rule__QualifiedName__Group__0 )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:188:2: rule__QualifiedName__Group__0
            {
            pushFollow(FOLLOW_rule__QualifiedName__Group__0_in_ruleQualifiedName334);
            rule__QualifiedName__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getQualifiedNameAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleQualifiedName"


    // $ANTLR start "entryRuleQualifiedNameWithWildCard"
    // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:200:1: entryRuleQualifiedNameWithWildCard : ruleQualifiedNameWithWildCard EOF ;
    public final void entryRuleQualifiedNameWithWildCard() throws RecognitionException {
        try {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:201:1: ( ruleQualifiedNameWithWildCard EOF )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:202:1: ruleQualifiedNameWithWildCard EOF
            {
             before(grammarAccess.getQualifiedNameWithWildCardRule()); 
            pushFollow(FOLLOW_ruleQualifiedNameWithWildCard_in_entryRuleQualifiedNameWithWildCard361);
            ruleQualifiedNameWithWildCard();

            state._fsp--;

             after(grammarAccess.getQualifiedNameWithWildCardRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleQualifiedNameWithWildCard368); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleQualifiedNameWithWildCard"


    // $ANTLR start "ruleQualifiedNameWithWildCard"
    // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:209:1: ruleQualifiedNameWithWildCard : ( ( rule__QualifiedNameWithWildCard__Group__0 ) ) ;
    public final void ruleQualifiedNameWithWildCard() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:213:2: ( ( ( rule__QualifiedNameWithWildCard__Group__0 ) ) )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:214:1: ( ( rule__QualifiedNameWithWildCard__Group__0 ) )
            {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:214:1: ( ( rule__QualifiedNameWithWildCard__Group__0 ) )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:215:1: ( rule__QualifiedNameWithWildCard__Group__0 )
            {
             before(grammarAccess.getQualifiedNameWithWildCardAccess().getGroup()); 
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:216:1: ( rule__QualifiedNameWithWildCard__Group__0 )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:216:2: rule__QualifiedNameWithWildCard__Group__0
            {
            pushFollow(FOLLOW_rule__QualifiedNameWithWildCard__Group__0_in_ruleQualifiedNameWithWildCard394);
            rule__QualifiedNameWithWildCard__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getQualifiedNameWithWildCardAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleQualifiedNameWithWildCard"


    // $ANTLR start "ruleDataTypes"
    // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:229:1: ruleDataTypes : ( ( rule__DataTypes__Alternatives ) ) ;
    public final void ruleDataTypes() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:233:1: ( ( ( rule__DataTypes__Alternatives ) ) )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:234:1: ( ( rule__DataTypes__Alternatives ) )
            {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:234:1: ( ( rule__DataTypes__Alternatives ) )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:235:1: ( rule__DataTypes__Alternatives )
            {
             before(grammarAccess.getDataTypesAccess().getAlternatives()); 
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:236:1: ( rule__DataTypes__Alternatives )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:236:2: rule__DataTypes__Alternatives
            {
            pushFollow(FOLLOW_rule__DataTypes__Alternatives_in_ruleDataTypes431);
            rule__DataTypes__Alternatives();

            state._fsp--;


            }

             after(grammarAccess.getDataTypesAccess().getAlternatives()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleDataTypes"


    // $ANTLR start "rule__DataTypes__Alternatives"
    // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:247:1: rule__DataTypes__Alternatives : ( ( ( 'String' ) ) | ( ( 'float' ) ) | ( ( 'boolean' ) ) | ( ( 'int' ) ) );
    public final void rule__DataTypes__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:251:1: ( ( ( 'String' ) ) | ( ( 'float' ) ) | ( ( 'boolean' ) ) | ( ( 'int' ) ) )
            int alt1=4;
            switch ( input.LA(1) ) {
            case 11:
                {
                alt1=1;
                }
                break;
            case 12:
                {
                alt1=2;
                }
                break;
            case 13:
                {
                alt1=3;
                }
                break;
            case 14:
                {
                alt1=4;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("", 1, 0, input);

                throw nvae;
            }

            switch (alt1) {
                case 1 :
                    // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:252:1: ( ( 'String' ) )
                    {
                    // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:252:1: ( ( 'String' ) )
                    // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:253:1: ( 'String' )
                    {
                     before(grammarAccess.getDataTypesAccess().getSTRINGEnumLiteralDeclaration_0()); 
                    // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:254:1: ( 'String' )
                    // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:254:3: 'String'
                    {
                    match(input,11,FOLLOW_11_in_rule__DataTypes__Alternatives467); 

                    }

                     after(grammarAccess.getDataTypesAccess().getSTRINGEnumLiteralDeclaration_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:259:6: ( ( 'float' ) )
                    {
                    // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:259:6: ( ( 'float' ) )
                    // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:260:1: ( 'float' )
                    {
                     before(grammarAccess.getDataTypesAccess().getFLOATEnumLiteralDeclaration_1()); 
                    // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:261:1: ( 'float' )
                    // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:261:3: 'float'
                    {
                    match(input,12,FOLLOW_12_in_rule__DataTypes__Alternatives488); 

                    }

                     after(grammarAccess.getDataTypesAccess().getFLOATEnumLiteralDeclaration_1()); 

                    }


                    }
                    break;
                case 3 :
                    // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:266:6: ( ( 'boolean' ) )
                    {
                    // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:266:6: ( ( 'boolean' ) )
                    // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:267:1: ( 'boolean' )
                    {
                     before(grammarAccess.getDataTypesAccess().getBOOLEANEnumLiteralDeclaration_2()); 
                    // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:268:1: ( 'boolean' )
                    // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:268:3: 'boolean'
                    {
                    match(input,13,FOLLOW_13_in_rule__DataTypes__Alternatives509); 

                    }

                     after(grammarAccess.getDataTypesAccess().getBOOLEANEnumLiteralDeclaration_2()); 

                    }


                    }
                    break;
                case 4 :
                    // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:273:6: ( ( 'int' ) )
                    {
                    // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:273:6: ( ( 'int' ) )
                    // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:274:1: ( 'int' )
                    {
                     before(grammarAccess.getDataTypesAccess().getINTEnumLiteralDeclaration_3()); 
                    // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:275:1: ( 'int' )
                    // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:275:3: 'int'
                    {
                    match(input,14,FOLLOW_14_in_rule__DataTypes__Alternatives530); 

                    }

                     after(grammarAccess.getDataTypesAccess().getINTEnumLiteralDeclaration_3()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__DataTypes__Alternatives"


    // $ANTLR start "rule__AndroDataModelRoot__Group__0"
    // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:287:1: rule__AndroDataModelRoot__Group__0 : rule__AndroDataModelRoot__Group__0__Impl rule__AndroDataModelRoot__Group__1 ;
    public final void rule__AndroDataModelRoot__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:291:1: ( rule__AndroDataModelRoot__Group__0__Impl rule__AndroDataModelRoot__Group__1 )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:292:2: rule__AndroDataModelRoot__Group__0__Impl rule__AndroDataModelRoot__Group__1
            {
            pushFollow(FOLLOW_rule__AndroDataModelRoot__Group__0__Impl_in_rule__AndroDataModelRoot__Group__0563);
            rule__AndroDataModelRoot__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__AndroDataModelRoot__Group__1_in_rule__AndroDataModelRoot__Group__0566);
            rule__AndroDataModelRoot__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AndroDataModelRoot__Group__0"


    // $ANTLR start "rule__AndroDataModelRoot__Group__0__Impl"
    // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:299:1: rule__AndroDataModelRoot__Group__0__Impl : ( 'package' ) ;
    public final void rule__AndroDataModelRoot__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:303:1: ( ( 'package' ) )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:304:1: ( 'package' )
            {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:304:1: ( 'package' )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:305:1: 'package'
            {
             before(grammarAccess.getAndroDataModelRootAccess().getPackageKeyword_0()); 
            match(input,15,FOLLOW_15_in_rule__AndroDataModelRoot__Group__0__Impl594); 
             after(grammarAccess.getAndroDataModelRootAccess().getPackageKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AndroDataModelRoot__Group__0__Impl"


    // $ANTLR start "rule__AndroDataModelRoot__Group__1"
    // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:318:1: rule__AndroDataModelRoot__Group__1 : rule__AndroDataModelRoot__Group__1__Impl rule__AndroDataModelRoot__Group__2 ;
    public final void rule__AndroDataModelRoot__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:322:1: ( rule__AndroDataModelRoot__Group__1__Impl rule__AndroDataModelRoot__Group__2 )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:323:2: rule__AndroDataModelRoot__Group__1__Impl rule__AndroDataModelRoot__Group__2
            {
            pushFollow(FOLLOW_rule__AndroDataModelRoot__Group__1__Impl_in_rule__AndroDataModelRoot__Group__1625);
            rule__AndroDataModelRoot__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__AndroDataModelRoot__Group__2_in_rule__AndroDataModelRoot__Group__1628);
            rule__AndroDataModelRoot__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AndroDataModelRoot__Group__1"


    // $ANTLR start "rule__AndroDataModelRoot__Group__1__Impl"
    // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:330:1: rule__AndroDataModelRoot__Group__1__Impl : ( ( rule__AndroDataModelRoot__NameAssignment_1 ) ) ;
    public final void rule__AndroDataModelRoot__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:334:1: ( ( ( rule__AndroDataModelRoot__NameAssignment_1 ) ) )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:335:1: ( ( rule__AndroDataModelRoot__NameAssignment_1 ) )
            {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:335:1: ( ( rule__AndroDataModelRoot__NameAssignment_1 ) )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:336:1: ( rule__AndroDataModelRoot__NameAssignment_1 )
            {
             before(grammarAccess.getAndroDataModelRootAccess().getNameAssignment_1()); 
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:337:1: ( rule__AndroDataModelRoot__NameAssignment_1 )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:337:2: rule__AndroDataModelRoot__NameAssignment_1
            {
            pushFollow(FOLLOW_rule__AndroDataModelRoot__NameAssignment_1_in_rule__AndroDataModelRoot__Group__1__Impl655);
            rule__AndroDataModelRoot__NameAssignment_1();

            state._fsp--;


            }

             after(grammarAccess.getAndroDataModelRootAccess().getNameAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AndroDataModelRoot__Group__1__Impl"


    // $ANTLR start "rule__AndroDataModelRoot__Group__2"
    // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:347:1: rule__AndroDataModelRoot__Group__2 : rule__AndroDataModelRoot__Group__2__Impl rule__AndroDataModelRoot__Group__3 ;
    public final void rule__AndroDataModelRoot__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:351:1: ( rule__AndroDataModelRoot__Group__2__Impl rule__AndroDataModelRoot__Group__3 )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:352:2: rule__AndroDataModelRoot__Group__2__Impl rule__AndroDataModelRoot__Group__3
            {
            pushFollow(FOLLOW_rule__AndroDataModelRoot__Group__2__Impl_in_rule__AndroDataModelRoot__Group__2685);
            rule__AndroDataModelRoot__Group__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__AndroDataModelRoot__Group__3_in_rule__AndroDataModelRoot__Group__2688);
            rule__AndroDataModelRoot__Group__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AndroDataModelRoot__Group__2"


    // $ANTLR start "rule__AndroDataModelRoot__Group__2__Impl"
    // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:359:1: rule__AndroDataModelRoot__Group__2__Impl : ( ( rule__AndroDataModelRoot__ImportsAssignment_2 )* ) ;
    public final void rule__AndroDataModelRoot__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:363:1: ( ( ( rule__AndroDataModelRoot__ImportsAssignment_2 )* ) )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:364:1: ( ( rule__AndroDataModelRoot__ImportsAssignment_2 )* )
            {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:364:1: ( ( rule__AndroDataModelRoot__ImportsAssignment_2 )* )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:365:1: ( rule__AndroDataModelRoot__ImportsAssignment_2 )*
            {
             before(grammarAccess.getAndroDataModelRootAccess().getImportsAssignment_2()); 
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:366:1: ( rule__AndroDataModelRoot__ImportsAssignment_2 )*
            loop2:
            do {
                int alt2=2;
                int LA2_0 = input.LA(1);

                if ( (LA2_0==21) ) {
                    alt2=1;
                }


                switch (alt2) {
            	case 1 :
            	    // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:366:2: rule__AndroDataModelRoot__ImportsAssignment_2
            	    {
            	    pushFollow(FOLLOW_rule__AndroDataModelRoot__ImportsAssignment_2_in_rule__AndroDataModelRoot__Group__2__Impl715);
            	    rule__AndroDataModelRoot__ImportsAssignment_2();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    break loop2;
                }
            } while (true);

             after(grammarAccess.getAndroDataModelRootAccess().getImportsAssignment_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AndroDataModelRoot__Group__2__Impl"


    // $ANTLR start "rule__AndroDataModelRoot__Group__3"
    // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:376:1: rule__AndroDataModelRoot__Group__3 : rule__AndroDataModelRoot__Group__3__Impl ;
    public final void rule__AndroDataModelRoot__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:380:1: ( rule__AndroDataModelRoot__Group__3__Impl )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:381:2: rule__AndroDataModelRoot__Group__3__Impl
            {
            pushFollow(FOLLOW_rule__AndroDataModelRoot__Group__3__Impl_in_rule__AndroDataModelRoot__Group__3746);
            rule__AndroDataModelRoot__Group__3__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AndroDataModelRoot__Group__3"


    // $ANTLR start "rule__AndroDataModelRoot__Group__3__Impl"
    // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:387:1: rule__AndroDataModelRoot__Group__3__Impl : ( ( rule__AndroDataModelRoot__EntitiesAssignment_3 )* ) ;
    public final void rule__AndroDataModelRoot__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:391:1: ( ( ( rule__AndroDataModelRoot__EntitiesAssignment_3 )* ) )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:392:1: ( ( rule__AndroDataModelRoot__EntitiesAssignment_3 )* )
            {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:392:1: ( ( rule__AndroDataModelRoot__EntitiesAssignment_3 )* )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:393:1: ( rule__AndroDataModelRoot__EntitiesAssignment_3 )*
            {
             before(grammarAccess.getAndroDataModelRootAccess().getEntitiesAssignment_3()); 
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:394:1: ( rule__AndroDataModelRoot__EntitiesAssignment_3 )*
            loop3:
            do {
                int alt3=2;
                int LA3_0 = input.LA(1);

                if ( (LA3_0==16) ) {
                    alt3=1;
                }


                switch (alt3) {
            	case 1 :
            	    // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:394:2: rule__AndroDataModelRoot__EntitiesAssignment_3
            	    {
            	    pushFollow(FOLLOW_rule__AndroDataModelRoot__EntitiesAssignment_3_in_rule__AndroDataModelRoot__Group__3__Impl773);
            	    rule__AndroDataModelRoot__EntitiesAssignment_3();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    break loop3;
                }
            } while (true);

             after(grammarAccess.getAndroDataModelRootAccess().getEntitiesAssignment_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AndroDataModelRoot__Group__3__Impl"


    // $ANTLR start "rule__Entity__Group__0"
    // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:412:1: rule__Entity__Group__0 : rule__Entity__Group__0__Impl rule__Entity__Group__1 ;
    public final void rule__Entity__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:416:1: ( rule__Entity__Group__0__Impl rule__Entity__Group__1 )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:417:2: rule__Entity__Group__0__Impl rule__Entity__Group__1
            {
            pushFollow(FOLLOW_rule__Entity__Group__0__Impl_in_rule__Entity__Group__0812);
            rule__Entity__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Entity__Group__1_in_rule__Entity__Group__0815);
            rule__Entity__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Entity__Group__0"


    // $ANTLR start "rule__Entity__Group__0__Impl"
    // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:424:1: rule__Entity__Group__0__Impl : ( 'entity' ) ;
    public final void rule__Entity__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:428:1: ( ( 'entity' ) )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:429:1: ( 'entity' )
            {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:429:1: ( 'entity' )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:430:1: 'entity'
            {
             before(grammarAccess.getEntityAccess().getEntityKeyword_0()); 
            match(input,16,FOLLOW_16_in_rule__Entity__Group__0__Impl843); 
             after(grammarAccess.getEntityAccess().getEntityKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Entity__Group__0__Impl"


    // $ANTLR start "rule__Entity__Group__1"
    // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:443:1: rule__Entity__Group__1 : rule__Entity__Group__1__Impl rule__Entity__Group__2 ;
    public final void rule__Entity__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:447:1: ( rule__Entity__Group__1__Impl rule__Entity__Group__2 )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:448:2: rule__Entity__Group__1__Impl rule__Entity__Group__2
            {
            pushFollow(FOLLOW_rule__Entity__Group__1__Impl_in_rule__Entity__Group__1874);
            rule__Entity__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Entity__Group__2_in_rule__Entity__Group__1877);
            rule__Entity__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Entity__Group__1"


    // $ANTLR start "rule__Entity__Group__1__Impl"
    // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:455:1: rule__Entity__Group__1__Impl : ( ( rule__Entity__NameAssignment_1 ) ) ;
    public final void rule__Entity__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:459:1: ( ( ( rule__Entity__NameAssignment_1 ) ) )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:460:1: ( ( rule__Entity__NameAssignment_1 ) )
            {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:460:1: ( ( rule__Entity__NameAssignment_1 ) )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:461:1: ( rule__Entity__NameAssignment_1 )
            {
             before(grammarAccess.getEntityAccess().getNameAssignment_1()); 
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:462:1: ( rule__Entity__NameAssignment_1 )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:462:2: rule__Entity__NameAssignment_1
            {
            pushFollow(FOLLOW_rule__Entity__NameAssignment_1_in_rule__Entity__Group__1__Impl904);
            rule__Entity__NameAssignment_1();

            state._fsp--;


            }

             after(grammarAccess.getEntityAccess().getNameAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Entity__Group__1__Impl"


    // $ANTLR start "rule__Entity__Group__2"
    // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:472:1: rule__Entity__Group__2 : rule__Entity__Group__2__Impl rule__Entity__Group__3 ;
    public final void rule__Entity__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:476:1: ( rule__Entity__Group__2__Impl rule__Entity__Group__3 )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:477:2: rule__Entity__Group__2__Impl rule__Entity__Group__3
            {
            pushFollow(FOLLOW_rule__Entity__Group__2__Impl_in_rule__Entity__Group__2934);
            rule__Entity__Group__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Entity__Group__3_in_rule__Entity__Group__2937);
            rule__Entity__Group__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Entity__Group__2"


    // $ANTLR start "rule__Entity__Group__2__Impl"
    // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:484:1: rule__Entity__Group__2__Impl : ( ( rule__Entity__Group_2__0 )? ) ;
    public final void rule__Entity__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:488:1: ( ( ( rule__Entity__Group_2__0 )? ) )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:489:1: ( ( rule__Entity__Group_2__0 )? )
            {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:489:1: ( ( rule__Entity__Group_2__0 )? )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:490:1: ( rule__Entity__Group_2__0 )?
            {
             before(grammarAccess.getEntityAccess().getGroup_2()); 
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:491:1: ( rule__Entity__Group_2__0 )?
            int alt4=2;
            int LA4_0 = input.LA(1);

            if ( (LA4_0==19) ) {
                alt4=1;
            }
            switch (alt4) {
                case 1 :
                    // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:491:2: rule__Entity__Group_2__0
                    {
                    pushFollow(FOLLOW_rule__Entity__Group_2__0_in_rule__Entity__Group__2__Impl964);
                    rule__Entity__Group_2__0();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getEntityAccess().getGroup_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Entity__Group__2__Impl"


    // $ANTLR start "rule__Entity__Group__3"
    // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:501:1: rule__Entity__Group__3 : rule__Entity__Group__3__Impl rule__Entity__Group__4 ;
    public final void rule__Entity__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:505:1: ( rule__Entity__Group__3__Impl rule__Entity__Group__4 )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:506:2: rule__Entity__Group__3__Impl rule__Entity__Group__4
            {
            pushFollow(FOLLOW_rule__Entity__Group__3__Impl_in_rule__Entity__Group__3995);
            rule__Entity__Group__3__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Entity__Group__4_in_rule__Entity__Group__3998);
            rule__Entity__Group__4();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Entity__Group__3"


    // $ANTLR start "rule__Entity__Group__3__Impl"
    // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:513:1: rule__Entity__Group__3__Impl : ( '{' ) ;
    public final void rule__Entity__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:517:1: ( ( '{' ) )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:518:1: ( '{' )
            {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:518:1: ( '{' )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:519:1: '{'
            {
             before(grammarAccess.getEntityAccess().getLeftCurlyBracketKeyword_3()); 
            match(input,17,FOLLOW_17_in_rule__Entity__Group__3__Impl1026); 
             after(grammarAccess.getEntityAccess().getLeftCurlyBracketKeyword_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Entity__Group__3__Impl"


    // $ANTLR start "rule__Entity__Group__4"
    // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:532:1: rule__Entity__Group__4 : rule__Entity__Group__4__Impl rule__Entity__Group__5 ;
    public final void rule__Entity__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:536:1: ( rule__Entity__Group__4__Impl rule__Entity__Group__5 )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:537:2: rule__Entity__Group__4__Impl rule__Entity__Group__5
            {
            pushFollow(FOLLOW_rule__Entity__Group__4__Impl_in_rule__Entity__Group__41057);
            rule__Entity__Group__4__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Entity__Group__5_in_rule__Entity__Group__41060);
            rule__Entity__Group__5();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Entity__Group__4"


    // $ANTLR start "rule__Entity__Group__4__Impl"
    // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:544:1: rule__Entity__Group__4__Impl : ( ( rule__Entity__FeaturesAssignment_4 )* ) ;
    public final void rule__Entity__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:548:1: ( ( ( rule__Entity__FeaturesAssignment_4 )* ) )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:549:1: ( ( rule__Entity__FeaturesAssignment_4 )* )
            {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:549:1: ( ( rule__Entity__FeaturesAssignment_4 )* )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:550:1: ( rule__Entity__FeaturesAssignment_4 )*
            {
             before(grammarAccess.getEntityAccess().getFeaturesAssignment_4()); 
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:551:1: ( rule__Entity__FeaturesAssignment_4 )*
            loop5:
            do {
                int alt5=2;
                int LA5_0 = input.LA(1);

                if ( (LA5_0==RULE_ID) ) {
                    alt5=1;
                }


                switch (alt5) {
            	case 1 :
            	    // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:551:2: rule__Entity__FeaturesAssignment_4
            	    {
            	    pushFollow(FOLLOW_rule__Entity__FeaturesAssignment_4_in_rule__Entity__Group__4__Impl1087);
            	    rule__Entity__FeaturesAssignment_4();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    break loop5;
                }
            } while (true);

             after(grammarAccess.getEntityAccess().getFeaturesAssignment_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Entity__Group__4__Impl"


    // $ANTLR start "rule__Entity__Group__5"
    // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:561:1: rule__Entity__Group__5 : rule__Entity__Group__5__Impl ;
    public final void rule__Entity__Group__5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:565:1: ( rule__Entity__Group__5__Impl )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:566:2: rule__Entity__Group__5__Impl
            {
            pushFollow(FOLLOW_rule__Entity__Group__5__Impl_in_rule__Entity__Group__51118);
            rule__Entity__Group__5__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Entity__Group__5"


    // $ANTLR start "rule__Entity__Group__5__Impl"
    // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:572:1: rule__Entity__Group__5__Impl : ( '}' ) ;
    public final void rule__Entity__Group__5__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:576:1: ( ( '}' ) )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:577:1: ( '}' )
            {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:577:1: ( '}' )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:578:1: '}'
            {
             before(grammarAccess.getEntityAccess().getRightCurlyBracketKeyword_5()); 
            match(input,18,FOLLOW_18_in_rule__Entity__Group__5__Impl1146); 
             after(grammarAccess.getEntityAccess().getRightCurlyBracketKeyword_5()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Entity__Group__5__Impl"


    // $ANTLR start "rule__Entity__Group_2__0"
    // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:603:1: rule__Entity__Group_2__0 : rule__Entity__Group_2__0__Impl rule__Entity__Group_2__1 ;
    public final void rule__Entity__Group_2__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:607:1: ( rule__Entity__Group_2__0__Impl rule__Entity__Group_2__1 )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:608:2: rule__Entity__Group_2__0__Impl rule__Entity__Group_2__1
            {
            pushFollow(FOLLOW_rule__Entity__Group_2__0__Impl_in_rule__Entity__Group_2__01189);
            rule__Entity__Group_2__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Entity__Group_2__1_in_rule__Entity__Group_2__01192);
            rule__Entity__Group_2__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Entity__Group_2__0"


    // $ANTLR start "rule__Entity__Group_2__0__Impl"
    // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:615:1: rule__Entity__Group_2__0__Impl : ( 'extends' ) ;
    public final void rule__Entity__Group_2__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:619:1: ( ( 'extends' ) )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:620:1: ( 'extends' )
            {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:620:1: ( 'extends' )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:621:1: 'extends'
            {
             before(grammarAccess.getEntityAccess().getExtendsKeyword_2_0()); 
            match(input,19,FOLLOW_19_in_rule__Entity__Group_2__0__Impl1220); 
             after(grammarAccess.getEntityAccess().getExtendsKeyword_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Entity__Group_2__0__Impl"


    // $ANTLR start "rule__Entity__Group_2__1"
    // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:634:1: rule__Entity__Group_2__1 : rule__Entity__Group_2__1__Impl ;
    public final void rule__Entity__Group_2__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:638:1: ( rule__Entity__Group_2__1__Impl )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:639:2: rule__Entity__Group_2__1__Impl
            {
            pushFollow(FOLLOW_rule__Entity__Group_2__1__Impl_in_rule__Entity__Group_2__11251);
            rule__Entity__Group_2__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Entity__Group_2__1"


    // $ANTLR start "rule__Entity__Group_2__1__Impl"
    // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:645:1: rule__Entity__Group_2__1__Impl : ( ( rule__Entity__SuperTypeAssignment_2_1 ) ) ;
    public final void rule__Entity__Group_2__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:649:1: ( ( ( rule__Entity__SuperTypeAssignment_2_1 ) ) )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:650:1: ( ( rule__Entity__SuperTypeAssignment_2_1 ) )
            {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:650:1: ( ( rule__Entity__SuperTypeAssignment_2_1 ) )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:651:1: ( rule__Entity__SuperTypeAssignment_2_1 )
            {
             before(grammarAccess.getEntityAccess().getSuperTypeAssignment_2_1()); 
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:652:1: ( rule__Entity__SuperTypeAssignment_2_1 )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:652:2: rule__Entity__SuperTypeAssignment_2_1
            {
            pushFollow(FOLLOW_rule__Entity__SuperTypeAssignment_2_1_in_rule__Entity__Group_2__1__Impl1278);
            rule__Entity__SuperTypeAssignment_2_1();

            state._fsp--;


            }

             after(grammarAccess.getEntityAccess().getSuperTypeAssignment_2_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Entity__Group_2__1__Impl"


    // $ANTLR start "rule__Feature__Group__0"
    // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:666:1: rule__Feature__Group__0 : rule__Feature__Group__0__Impl rule__Feature__Group__1 ;
    public final void rule__Feature__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:670:1: ( rule__Feature__Group__0__Impl rule__Feature__Group__1 )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:671:2: rule__Feature__Group__0__Impl rule__Feature__Group__1
            {
            pushFollow(FOLLOW_rule__Feature__Group__0__Impl_in_rule__Feature__Group__01312);
            rule__Feature__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Feature__Group__1_in_rule__Feature__Group__01315);
            rule__Feature__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Feature__Group__0"


    // $ANTLR start "rule__Feature__Group__0__Impl"
    // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:678:1: rule__Feature__Group__0__Impl : ( ( rule__Feature__NameAssignment_0 ) ) ;
    public final void rule__Feature__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:682:1: ( ( ( rule__Feature__NameAssignment_0 ) ) )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:683:1: ( ( rule__Feature__NameAssignment_0 ) )
            {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:683:1: ( ( rule__Feature__NameAssignment_0 ) )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:684:1: ( rule__Feature__NameAssignment_0 )
            {
             before(grammarAccess.getFeatureAccess().getNameAssignment_0()); 
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:685:1: ( rule__Feature__NameAssignment_0 )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:685:2: rule__Feature__NameAssignment_0
            {
            pushFollow(FOLLOW_rule__Feature__NameAssignment_0_in_rule__Feature__Group__0__Impl1342);
            rule__Feature__NameAssignment_0();

            state._fsp--;


            }

             after(grammarAccess.getFeatureAccess().getNameAssignment_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Feature__Group__0__Impl"


    // $ANTLR start "rule__Feature__Group__1"
    // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:695:1: rule__Feature__Group__1 : rule__Feature__Group__1__Impl rule__Feature__Group__2 ;
    public final void rule__Feature__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:699:1: ( rule__Feature__Group__1__Impl rule__Feature__Group__2 )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:700:2: rule__Feature__Group__1__Impl rule__Feature__Group__2
            {
            pushFollow(FOLLOW_rule__Feature__Group__1__Impl_in_rule__Feature__Group__11372);
            rule__Feature__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Feature__Group__2_in_rule__Feature__Group__11375);
            rule__Feature__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Feature__Group__1"


    // $ANTLR start "rule__Feature__Group__1__Impl"
    // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:707:1: rule__Feature__Group__1__Impl : ( ':' ) ;
    public final void rule__Feature__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:711:1: ( ( ':' ) )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:712:1: ( ':' )
            {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:712:1: ( ':' )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:713:1: ':'
            {
             before(grammarAccess.getFeatureAccess().getColonKeyword_1()); 
            match(input,20,FOLLOW_20_in_rule__Feature__Group__1__Impl1403); 
             after(grammarAccess.getFeatureAccess().getColonKeyword_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Feature__Group__1__Impl"


    // $ANTLR start "rule__Feature__Group__2"
    // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:726:1: rule__Feature__Group__2 : rule__Feature__Group__2__Impl ;
    public final void rule__Feature__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:730:1: ( rule__Feature__Group__2__Impl )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:731:2: rule__Feature__Group__2__Impl
            {
            pushFollow(FOLLOW_rule__Feature__Group__2__Impl_in_rule__Feature__Group__21434);
            rule__Feature__Group__2__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Feature__Group__2"


    // $ANTLR start "rule__Feature__Group__2__Impl"
    // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:737:1: rule__Feature__Group__2__Impl : ( ( rule__Feature__TypeAssignment_2 ) ) ;
    public final void rule__Feature__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:741:1: ( ( ( rule__Feature__TypeAssignment_2 ) ) )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:742:1: ( ( rule__Feature__TypeAssignment_2 ) )
            {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:742:1: ( ( rule__Feature__TypeAssignment_2 ) )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:743:1: ( rule__Feature__TypeAssignment_2 )
            {
             before(grammarAccess.getFeatureAccess().getTypeAssignment_2()); 
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:744:1: ( rule__Feature__TypeAssignment_2 )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:744:2: rule__Feature__TypeAssignment_2
            {
            pushFollow(FOLLOW_rule__Feature__TypeAssignment_2_in_rule__Feature__Group__2__Impl1461);
            rule__Feature__TypeAssignment_2();

            state._fsp--;


            }

             after(grammarAccess.getFeatureAccess().getTypeAssignment_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Feature__Group__2__Impl"


    // $ANTLR start "rule__Import__Group__0"
    // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:760:1: rule__Import__Group__0 : rule__Import__Group__0__Impl rule__Import__Group__1 ;
    public final void rule__Import__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:764:1: ( rule__Import__Group__0__Impl rule__Import__Group__1 )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:765:2: rule__Import__Group__0__Impl rule__Import__Group__1
            {
            pushFollow(FOLLOW_rule__Import__Group__0__Impl_in_rule__Import__Group__01497);
            rule__Import__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Import__Group__1_in_rule__Import__Group__01500);
            rule__Import__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Import__Group__0"


    // $ANTLR start "rule__Import__Group__0__Impl"
    // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:772:1: rule__Import__Group__0__Impl : ( 'import' ) ;
    public final void rule__Import__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:776:1: ( ( 'import' ) )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:777:1: ( 'import' )
            {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:777:1: ( 'import' )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:778:1: 'import'
            {
             before(grammarAccess.getImportAccess().getImportKeyword_0()); 
            match(input,21,FOLLOW_21_in_rule__Import__Group__0__Impl1528); 
             after(grammarAccess.getImportAccess().getImportKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Import__Group__0__Impl"


    // $ANTLR start "rule__Import__Group__1"
    // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:791:1: rule__Import__Group__1 : rule__Import__Group__1__Impl ;
    public final void rule__Import__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:795:1: ( rule__Import__Group__1__Impl )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:796:2: rule__Import__Group__1__Impl
            {
            pushFollow(FOLLOW_rule__Import__Group__1__Impl_in_rule__Import__Group__11559);
            rule__Import__Group__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Import__Group__1"


    // $ANTLR start "rule__Import__Group__1__Impl"
    // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:802:1: rule__Import__Group__1__Impl : ( ( rule__Import__ImportedNamespaceAssignment_1 ) ) ;
    public final void rule__Import__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:806:1: ( ( ( rule__Import__ImportedNamespaceAssignment_1 ) ) )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:807:1: ( ( rule__Import__ImportedNamespaceAssignment_1 ) )
            {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:807:1: ( ( rule__Import__ImportedNamespaceAssignment_1 ) )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:808:1: ( rule__Import__ImportedNamespaceAssignment_1 )
            {
             before(grammarAccess.getImportAccess().getImportedNamespaceAssignment_1()); 
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:809:1: ( rule__Import__ImportedNamespaceAssignment_1 )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:809:2: rule__Import__ImportedNamespaceAssignment_1
            {
            pushFollow(FOLLOW_rule__Import__ImportedNamespaceAssignment_1_in_rule__Import__Group__1__Impl1586);
            rule__Import__ImportedNamespaceAssignment_1();

            state._fsp--;


            }

             after(grammarAccess.getImportAccess().getImportedNamespaceAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Import__Group__1__Impl"


    // $ANTLR start "rule__QualifiedName__Group__0"
    // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:823:1: rule__QualifiedName__Group__0 : rule__QualifiedName__Group__0__Impl rule__QualifiedName__Group__1 ;
    public final void rule__QualifiedName__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:827:1: ( rule__QualifiedName__Group__0__Impl rule__QualifiedName__Group__1 )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:828:2: rule__QualifiedName__Group__0__Impl rule__QualifiedName__Group__1
            {
            pushFollow(FOLLOW_rule__QualifiedName__Group__0__Impl_in_rule__QualifiedName__Group__01620);
            rule__QualifiedName__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__QualifiedName__Group__1_in_rule__QualifiedName__Group__01623);
            rule__QualifiedName__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__QualifiedName__Group__0"


    // $ANTLR start "rule__QualifiedName__Group__0__Impl"
    // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:835:1: rule__QualifiedName__Group__0__Impl : ( RULE_ID ) ;
    public final void rule__QualifiedName__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:839:1: ( ( RULE_ID ) )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:840:1: ( RULE_ID )
            {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:840:1: ( RULE_ID )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:841:1: RULE_ID
            {
             before(grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_0()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__QualifiedName__Group__0__Impl1650); 
             after(grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__QualifiedName__Group__0__Impl"


    // $ANTLR start "rule__QualifiedName__Group__1"
    // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:852:1: rule__QualifiedName__Group__1 : rule__QualifiedName__Group__1__Impl ;
    public final void rule__QualifiedName__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:856:1: ( rule__QualifiedName__Group__1__Impl )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:857:2: rule__QualifiedName__Group__1__Impl
            {
            pushFollow(FOLLOW_rule__QualifiedName__Group__1__Impl_in_rule__QualifiedName__Group__11679);
            rule__QualifiedName__Group__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__QualifiedName__Group__1"


    // $ANTLR start "rule__QualifiedName__Group__1__Impl"
    // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:863:1: rule__QualifiedName__Group__1__Impl : ( ( rule__QualifiedName__Group_1__0 )* ) ;
    public final void rule__QualifiedName__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:867:1: ( ( ( rule__QualifiedName__Group_1__0 )* ) )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:868:1: ( ( rule__QualifiedName__Group_1__0 )* )
            {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:868:1: ( ( rule__QualifiedName__Group_1__0 )* )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:869:1: ( rule__QualifiedName__Group_1__0 )*
            {
             before(grammarAccess.getQualifiedNameAccess().getGroup_1()); 
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:870:1: ( rule__QualifiedName__Group_1__0 )*
            loop6:
            do {
                int alt6=2;
                int LA6_0 = input.LA(1);

                if ( (LA6_0==22) ) {
                    alt6=1;
                }


                switch (alt6) {
            	case 1 :
            	    // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:870:2: rule__QualifiedName__Group_1__0
            	    {
            	    pushFollow(FOLLOW_rule__QualifiedName__Group_1__0_in_rule__QualifiedName__Group__1__Impl1706);
            	    rule__QualifiedName__Group_1__0();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    break loop6;
                }
            } while (true);

             after(grammarAccess.getQualifiedNameAccess().getGroup_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__QualifiedName__Group__1__Impl"


    // $ANTLR start "rule__QualifiedName__Group_1__0"
    // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:884:1: rule__QualifiedName__Group_1__0 : rule__QualifiedName__Group_1__0__Impl rule__QualifiedName__Group_1__1 ;
    public final void rule__QualifiedName__Group_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:888:1: ( rule__QualifiedName__Group_1__0__Impl rule__QualifiedName__Group_1__1 )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:889:2: rule__QualifiedName__Group_1__0__Impl rule__QualifiedName__Group_1__1
            {
            pushFollow(FOLLOW_rule__QualifiedName__Group_1__0__Impl_in_rule__QualifiedName__Group_1__01741);
            rule__QualifiedName__Group_1__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__QualifiedName__Group_1__1_in_rule__QualifiedName__Group_1__01744);
            rule__QualifiedName__Group_1__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__QualifiedName__Group_1__0"


    // $ANTLR start "rule__QualifiedName__Group_1__0__Impl"
    // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:896:1: rule__QualifiedName__Group_1__0__Impl : ( '.' ) ;
    public final void rule__QualifiedName__Group_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:900:1: ( ( '.' ) )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:901:1: ( '.' )
            {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:901:1: ( '.' )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:902:1: '.'
            {
             before(grammarAccess.getQualifiedNameAccess().getFullStopKeyword_1_0()); 
            match(input,22,FOLLOW_22_in_rule__QualifiedName__Group_1__0__Impl1772); 
             after(grammarAccess.getQualifiedNameAccess().getFullStopKeyword_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__QualifiedName__Group_1__0__Impl"


    // $ANTLR start "rule__QualifiedName__Group_1__1"
    // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:915:1: rule__QualifiedName__Group_1__1 : rule__QualifiedName__Group_1__1__Impl ;
    public final void rule__QualifiedName__Group_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:919:1: ( rule__QualifiedName__Group_1__1__Impl )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:920:2: rule__QualifiedName__Group_1__1__Impl
            {
            pushFollow(FOLLOW_rule__QualifiedName__Group_1__1__Impl_in_rule__QualifiedName__Group_1__11803);
            rule__QualifiedName__Group_1__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__QualifiedName__Group_1__1"


    // $ANTLR start "rule__QualifiedName__Group_1__1__Impl"
    // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:926:1: rule__QualifiedName__Group_1__1__Impl : ( RULE_ID ) ;
    public final void rule__QualifiedName__Group_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:930:1: ( ( RULE_ID ) )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:931:1: ( RULE_ID )
            {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:931:1: ( RULE_ID )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:932:1: RULE_ID
            {
             before(grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_1_1()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__QualifiedName__Group_1__1__Impl1830); 
             after(grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_1_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__QualifiedName__Group_1__1__Impl"


    // $ANTLR start "rule__QualifiedNameWithWildCard__Group__0"
    // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:947:1: rule__QualifiedNameWithWildCard__Group__0 : rule__QualifiedNameWithWildCard__Group__0__Impl rule__QualifiedNameWithWildCard__Group__1 ;
    public final void rule__QualifiedNameWithWildCard__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:951:1: ( rule__QualifiedNameWithWildCard__Group__0__Impl rule__QualifiedNameWithWildCard__Group__1 )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:952:2: rule__QualifiedNameWithWildCard__Group__0__Impl rule__QualifiedNameWithWildCard__Group__1
            {
            pushFollow(FOLLOW_rule__QualifiedNameWithWildCard__Group__0__Impl_in_rule__QualifiedNameWithWildCard__Group__01863);
            rule__QualifiedNameWithWildCard__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__QualifiedNameWithWildCard__Group__1_in_rule__QualifiedNameWithWildCard__Group__01866);
            rule__QualifiedNameWithWildCard__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__QualifiedNameWithWildCard__Group__0"


    // $ANTLR start "rule__QualifiedNameWithWildCard__Group__0__Impl"
    // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:959:1: rule__QualifiedNameWithWildCard__Group__0__Impl : ( ruleQualifiedName ) ;
    public final void rule__QualifiedNameWithWildCard__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:963:1: ( ( ruleQualifiedName ) )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:964:1: ( ruleQualifiedName )
            {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:964:1: ( ruleQualifiedName )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:965:1: ruleQualifiedName
            {
             before(grammarAccess.getQualifiedNameWithWildCardAccess().getQualifiedNameParserRuleCall_0()); 
            pushFollow(FOLLOW_ruleQualifiedName_in_rule__QualifiedNameWithWildCard__Group__0__Impl1893);
            ruleQualifiedName();

            state._fsp--;

             after(grammarAccess.getQualifiedNameWithWildCardAccess().getQualifiedNameParserRuleCall_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__QualifiedNameWithWildCard__Group__0__Impl"


    // $ANTLR start "rule__QualifiedNameWithWildCard__Group__1"
    // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:976:1: rule__QualifiedNameWithWildCard__Group__1 : rule__QualifiedNameWithWildCard__Group__1__Impl ;
    public final void rule__QualifiedNameWithWildCard__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:980:1: ( rule__QualifiedNameWithWildCard__Group__1__Impl )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:981:2: rule__QualifiedNameWithWildCard__Group__1__Impl
            {
            pushFollow(FOLLOW_rule__QualifiedNameWithWildCard__Group__1__Impl_in_rule__QualifiedNameWithWildCard__Group__11922);
            rule__QualifiedNameWithWildCard__Group__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__QualifiedNameWithWildCard__Group__1"


    // $ANTLR start "rule__QualifiedNameWithWildCard__Group__1__Impl"
    // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:987:1: rule__QualifiedNameWithWildCard__Group__1__Impl : ( ( '.*' )? ) ;
    public final void rule__QualifiedNameWithWildCard__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:991:1: ( ( ( '.*' )? ) )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:992:1: ( ( '.*' )? )
            {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:992:1: ( ( '.*' )? )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:993:1: ( '.*' )?
            {
             before(grammarAccess.getQualifiedNameWithWildCardAccess().getFullStopAsteriskKeyword_1()); 
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:994:1: ( '.*' )?
            int alt7=2;
            int LA7_0 = input.LA(1);

            if ( (LA7_0==23) ) {
                alt7=1;
            }
            switch (alt7) {
                case 1 :
                    // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:995:2: '.*'
                    {
                    match(input,23,FOLLOW_23_in_rule__QualifiedNameWithWildCard__Group__1__Impl1951); 

                    }
                    break;

            }

             after(grammarAccess.getQualifiedNameWithWildCardAccess().getFullStopAsteriskKeyword_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__QualifiedNameWithWildCard__Group__1__Impl"


    // $ANTLR start "rule__AndroDataModelRoot__NameAssignment_1"
    // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:1011:1: rule__AndroDataModelRoot__NameAssignment_1 : ( ruleQualifiedName ) ;
    public final void rule__AndroDataModelRoot__NameAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:1015:1: ( ( ruleQualifiedName ) )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:1016:1: ( ruleQualifiedName )
            {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:1016:1: ( ruleQualifiedName )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:1017:1: ruleQualifiedName
            {
             before(grammarAccess.getAndroDataModelRootAccess().getNameQualifiedNameParserRuleCall_1_0()); 
            pushFollow(FOLLOW_ruleQualifiedName_in_rule__AndroDataModelRoot__NameAssignment_11993);
            ruleQualifiedName();

            state._fsp--;

             after(grammarAccess.getAndroDataModelRootAccess().getNameQualifiedNameParserRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AndroDataModelRoot__NameAssignment_1"


    // $ANTLR start "rule__AndroDataModelRoot__ImportsAssignment_2"
    // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:1026:1: rule__AndroDataModelRoot__ImportsAssignment_2 : ( ruleImport ) ;
    public final void rule__AndroDataModelRoot__ImportsAssignment_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:1030:1: ( ( ruleImport ) )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:1031:1: ( ruleImport )
            {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:1031:1: ( ruleImport )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:1032:1: ruleImport
            {
             before(grammarAccess.getAndroDataModelRootAccess().getImportsImportParserRuleCall_2_0()); 
            pushFollow(FOLLOW_ruleImport_in_rule__AndroDataModelRoot__ImportsAssignment_22024);
            ruleImport();

            state._fsp--;

             after(grammarAccess.getAndroDataModelRootAccess().getImportsImportParserRuleCall_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AndroDataModelRoot__ImportsAssignment_2"


    // $ANTLR start "rule__AndroDataModelRoot__EntitiesAssignment_3"
    // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:1041:1: rule__AndroDataModelRoot__EntitiesAssignment_3 : ( ruleEntity ) ;
    public final void rule__AndroDataModelRoot__EntitiesAssignment_3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:1045:1: ( ( ruleEntity ) )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:1046:1: ( ruleEntity )
            {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:1046:1: ( ruleEntity )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:1047:1: ruleEntity
            {
             before(grammarAccess.getAndroDataModelRootAccess().getEntitiesEntityParserRuleCall_3_0()); 
            pushFollow(FOLLOW_ruleEntity_in_rule__AndroDataModelRoot__EntitiesAssignment_32055);
            ruleEntity();

            state._fsp--;

             after(grammarAccess.getAndroDataModelRootAccess().getEntitiesEntityParserRuleCall_3_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AndroDataModelRoot__EntitiesAssignment_3"


    // $ANTLR start "rule__Entity__NameAssignment_1"
    // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:1056:1: rule__Entity__NameAssignment_1 : ( RULE_ID ) ;
    public final void rule__Entity__NameAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:1060:1: ( ( RULE_ID ) )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:1061:1: ( RULE_ID )
            {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:1061:1: ( RULE_ID )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:1062:1: RULE_ID
            {
             before(grammarAccess.getEntityAccess().getNameIDTerminalRuleCall_1_0()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Entity__NameAssignment_12086); 
             after(grammarAccess.getEntityAccess().getNameIDTerminalRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Entity__NameAssignment_1"


    // $ANTLR start "rule__Entity__SuperTypeAssignment_2_1"
    // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:1071:1: rule__Entity__SuperTypeAssignment_2_1 : ( ( ruleQualifiedName ) ) ;
    public final void rule__Entity__SuperTypeAssignment_2_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:1075:1: ( ( ( ruleQualifiedName ) ) )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:1076:1: ( ( ruleQualifiedName ) )
            {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:1076:1: ( ( ruleQualifiedName ) )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:1077:1: ( ruleQualifiedName )
            {
             before(grammarAccess.getEntityAccess().getSuperTypeEntityCrossReference_2_1_0()); 
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:1078:1: ( ruleQualifiedName )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:1079:1: ruleQualifiedName
            {
             before(grammarAccess.getEntityAccess().getSuperTypeEntityQualifiedNameParserRuleCall_2_1_0_1()); 
            pushFollow(FOLLOW_ruleQualifiedName_in_rule__Entity__SuperTypeAssignment_2_12121);
            ruleQualifiedName();

            state._fsp--;

             after(grammarAccess.getEntityAccess().getSuperTypeEntityQualifiedNameParserRuleCall_2_1_0_1()); 

            }

             after(grammarAccess.getEntityAccess().getSuperTypeEntityCrossReference_2_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Entity__SuperTypeAssignment_2_1"


    // $ANTLR start "rule__Entity__FeaturesAssignment_4"
    // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:1090:1: rule__Entity__FeaturesAssignment_4 : ( ruleFeature ) ;
    public final void rule__Entity__FeaturesAssignment_4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:1094:1: ( ( ruleFeature ) )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:1095:1: ( ruleFeature )
            {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:1095:1: ( ruleFeature )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:1096:1: ruleFeature
            {
             before(grammarAccess.getEntityAccess().getFeaturesFeatureParserRuleCall_4_0()); 
            pushFollow(FOLLOW_ruleFeature_in_rule__Entity__FeaturesAssignment_42156);
            ruleFeature();

            state._fsp--;

             after(grammarAccess.getEntityAccess().getFeaturesFeatureParserRuleCall_4_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Entity__FeaturesAssignment_4"


    // $ANTLR start "rule__Feature__NameAssignment_0"
    // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:1105:1: rule__Feature__NameAssignment_0 : ( RULE_ID ) ;
    public final void rule__Feature__NameAssignment_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:1109:1: ( ( RULE_ID ) )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:1110:1: ( RULE_ID )
            {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:1110:1: ( RULE_ID )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:1111:1: RULE_ID
            {
             before(grammarAccess.getFeatureAccess().getNameIDTerminalRuleCall_0_0()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Feature__NameAssignment_02187); 
             after(grammarAccess.getFeatureAccess().getNameIDTerminalRuleCall_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Feature__NameAssignment_0"


    // $ANTLR start "rule__Feature__TypeAssignment_2"
    // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:1120:1: rule__Feature__TypeAssignment_2 : ( ruleDataTypes ) ;
    public final void rule__Feature__TypeAssignment_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:1124:1: ( ( ruleDataTypes ) )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:1125:1: ( ruleDataTypes )
            {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:1125:1: ( ruleDataTypes )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:1126:1: ruleDataTypes
            {
             before(grammarAccess.getFeatureAccess().getTypeDataTypesEnumRuleCall_2_0()); 
            pushFollow(FOLLOW_ruleDataTypes_in_rule__Feature__TypeAssignment_22218);
            ruleDataTypes();

            state._fsp--;

             after(grammarAccess.getFeatureAccess().getTypeDataTypesEnumRuleCall_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Feature__TypeAssignment_2"


    // $ANTLR start "rule__Import__ImportedNamespaceAssignment_1"
    // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:1135:1: rule__Import__ImportedNamespaceAssignment_1 : ( ruleQualifiedNameWithWildCard ) ;
    public final void rule__Import__ImportedNamespaceAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:1139:1: ( ( ruleQualifiedNameWithWildCard ) )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:1140:1: ( ruleQualifiedNameWithWildCard )
            {
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:1140:1: ( ruleQualifiedNameWithWildCard )
            // ../hu.bme.mit.androtext.androdata.ui/src-gen/hu/bme/mit/androtext/androdata/ui/contentassist/antlr/internal/InternalAndroDataDsl.g:1141:1: ruleQualifiedNameWithWildCard
            {
             before(grammarAccess.getImportAccess().getImportedNamespaceQualifiedNameWithWildCardParserRuleCall_1_0()); 
            pushFollow(FOLLOW_ruleQualifiedNameWithWildCard_in_rule__Import__ImportedNamespaceAssignment_12249);
            ruleQualifiedNameWithWildCard();

            state._fsp--;

             after(grammarAccess.getImportAccess().getImportedNamespaceQualifiedNameWithWildCardParserRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Import__ImportedNamespaceAssignment_1"

    // Delegated rules


 

    public static final BitSet FOLLOW_ruleAndroDataModelRoot_in_entryRuleAndroDataModelRoot61 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleAndroDataModelRoot68 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AndroDataModelRoot__Group__0_in_ruleAndroDataModelRoot94 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleEntity_in_entryRuleEntity121 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleEntity128 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Entity__Group__0_in_ruleEntity154 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleFeature_in_entryRuleFeature181 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleFeature188 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Feature__Group__0_in_ruleFeature214 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleImport_in_entryRuleImport241 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleImport248 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Import__Group__0_in_ruleImport274 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleQualifiedName_in_entryRuleQualifiedName301 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleQualifiedName308 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__QualifiedName__Group__0_in_ruleQualifiedName334 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleQualifiedNameWithWildCard_in_entryRuleQualifiedNameWithWildCard361 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleQualifiedNameWithWildCard368 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__QualifiedNameWithWildCard__Group__0_in_ruleQualifiedNameWithWildCard394 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__DataTypes__Alternatives_in_ruleDataTypes431 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_11_in_rule__DataTypes__Alternatives467 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_12_in_rule__DataTypes__Alternatives488 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_13_in_rule__DataTypes__Alternatives509 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_14_in_rule__DataTypes__Alternatives530 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AndroDataModelRoot__Group__0__Impl_in_rule__AndroDataModelRoot__Group__0563 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__AndroDataModelRoot__Group__1_in_rule__AndroDataModelRoot__Group__0566 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_15_in_rule__AndroDataModelRoot__Group__0__Impl594 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AndroDataModelRoot__Group__1__Impl_in_rule__AndroDataModelRoot__Group__1625 = new BitSet(new long[]{0x0000000000210000L});
    public static final BitSet FOLLOW_rule__AndroDataModelRoot__Group__2_in_rule__AndroDataModelRoot__Group__1628 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AndroDataModelRoot__NameAssignment_1_in_rule__AndroDataModelRoot__Group__1__Impl655 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AndroDataModelRoot__Group__2__Impl_in_rule__AndroDataModelRoot__Group__2685 = new BitSet(new long[]{0x0000000000210000L});
    public static final BitSet FOLLOW_rule__AndroDataModelRoot__Group__3_in_rule__AndroDataModelRoot__Group__2688 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AndroDataModelRoot__ImportsAssignment_2_in_rule__AndroDataModelRoot__Group__2__Impl715 = new BitSet(new long[]{0x0000000000200002L});
    public static final BitSet FOLLOW_rule__AndroDataModelRoot__Group__3__Impl_in_rule__AndroDataModelRoot__Group__3746 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AndroDataModelRoot__EntitiesAssignment_3_in_rule__AndroDataModelRoot__Group__3__Impl773 = new BitSet(new long[]{0x0000000000010002L});
    public static final BitSet FOLLOW_rule__Entity__Group__0__Impl_in_rule__Entity__Group__0812 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__Entity__Group__1_in_rule__Entity__Group__0815 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_16_in_rule__Entity__Group__0__Impl843 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Entity__Group__1__Impl_in_rule__Entity__Group__1874 = new BitSet(new long[]{0x00000000000A0000L});
    public static final BitSet FOLLOW_rule__Entity__Group__2_in_rule__Entity__Group__1877 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Entity__NameAssignment_1_in_rule__Entity__Group__1__Impl904 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Entity__Group__2__Impl_in_rule__Entity__Group__2934 = new BitSet(new long[]{0x00000000000A0000L});
    public static final BitSet FOLLOW_rule__Entity__Group__3_in_rule__Entity__Group__2937 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Entity__Group_2__0_in_rule__Entity__Group__2__Impl964 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Entity__Group__3__Impl_in_rule__Entity__Group__3995 = new BitSet(new long[]{0x0000000000040010L});
    public static final BitSet FOLLOW_rule__Entity__Group__4_in_rule__Entity__Group__3998 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_17_in_rule__Entity__Group__3__Impl1026 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Entity__Group__4__Impl_in_rule__Entity__Group__41057 = new BitSet(new long[]{0x0000000000040010L});
    public static final BitSet FOLLOW_rule__Entity__Group__5_in_rule__Entity__Group__41060 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Entity__FeaturesAssignment_4_in_rule__Entity__Group__4__Impl1087 = new BitSet(new long[]{0x0000000000000012L});
    public static final BitSet FOLLOW_rule__Entity__Group__5__Impl_in_rule__Entity__Group__51118 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_18_in_rule__Entity__Group__5__Impl1146 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Entity__Group_2__0__Impl_in_rule__Entity__Group_2__01189 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__Entity__Group_2__1_in_rule__Entity__Group_2__01192 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_19_in_rule__Entity__Group_2__0__Impl1220 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Entity__Group_2__1__Impl_in_rule__Entity__Group_2__11251 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Entity__SuperTypeAssignment_2_1_in_rule__Entity__Group_2__1__Impl1278 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Feature__Group__0__Impl_in_rule__Feature__Group__01312 = new BitSet(new long[]{0x0000000000100000L});
    public static final BitSet FOLLOW_rule__Feature__Group__1_in_rule__Feature__Group__01315 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Feature__NameAssignment_0_in_rule__Feature__Group__0__Impl1342 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Feature__Group__1__Impl_in_rule__Feature__Group__11372 = new BitSet(new long[]{0x0000000000007800L});
    public static final BitSet FOLLOW_rule__Feature__Group__2_in_rule__Feature__Group__11375 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_20_in_rule__Feature__Group__1__Impl1403 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Feature__Group__2__Impl_in_rule__Feature__Group__21434 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Feature__TypeAssignment_2_in_rule__Feature__Group__2__Impl1461 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Import__Group__0__Impl_in_rule__Import__Group__01497 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__Import__Group__1_in_rule__Import__Group__01500 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_21_in_rule__Import__Group__0__Impl1528 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Import__Group__1__Impl_in_rule__Import__Group__11559 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Import__ImportedNamespaceAssignment_1_in_rule__Import__Group__1__Impl1586 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__QualifiedName__Group__0__Impl_in_rule__QualifiedName__Group__01620 = new BitSet(new long[]{0x0000000000400000L});
    public static final BitSet FOLLOW_rule__QualifiedName__Group__1_in_rule__QualifiedName__Group__01623 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__QualifiedName__Group__0__Impl1650 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__QualifiedName__Group__1__Impl_in_rule__QualifiedName__Group__11679 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__QualifiedName__Group_1__0_in_rule__QualifiedName__Group__1__Impl1706 = new BitSet(new long[]{0x0000000000400002L});
    public static final BitSet FOLLOW_rule__QualifiedName__Group_1__0__Impl_in_rule__QualifiedName__Group_1__01741 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__QualifiedName__Group_1__1_in_rule__QualifiedName__Group_1__01744 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_22_in_rule__QualifiedName__Group_1__0__Impl1772 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__QualifiedName__Group_1__1__Impl_in_rule__QualifiedName__Group_1__11803 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__QualifiedName__Group_1__1__Impl1830 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__QualifiedNameWithWildCard__Group__0__Impl_in_rule__QualifiedNameWithWildCard__Group__01863 = new BitSet(new long[]{0x0000000000800000L});
    public static final BitSet FOLLOW_rule__QualifiedNameWithWildCard__Group__1_in_rule__QualifiedNameWithWildCard__Group__01866 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleQualifiedName_in_rule__QualifiedNameWithWildCard__Group__0__Impl1893 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__QualifiedNameWithWildCard__Group__1__Impl_in_rule__QualifiedNameWithWildCard__Group__11922 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_23_in_rule__QualifiedNameWithWildCard__Group__1__Impl1951 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleQualifiedName_in_rule__AndroDataModelRoot__NameAssignment_11993 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleImport_in_rule__AndroDataModelRoot__ImportsAssignment_22024 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleEntity_in_rule__AndroDataModelRoot__EntitiesAssignment_32055 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__Entity__NameAssignment_12086 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleQualifiedName_in_rule__Entity__SuperTypeAssignment_2_12121 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleFeature_in_rule__Entity__FeaturesAssignment_42156 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__Feature__NameAssignment_02187 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleDataTypes_in_rule__Feature__TypeAssignment_22218 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleQualifiedNameWithWildCard_in_rule__Import__ImportedNamespaceAssignment_12249 = new BitSet(new long[]{0x0000000000000002L});

}